/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.DAO;

import com.DAO.ConexaoPostgreSQL.ConnectionFactory;
import com.Model.TipoCampo;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Fellipe
 */
public class TipoCampoDAO {

    private Connection con = new ConnectionFactory().getConnection();
    private PreparedStatement pstm;

    public void create() {
    }

    public TipoCampo readUm(String chave) {

        TipoCampo tc = new TipoCampo();

        try {

            String sql = "SELECT * FROM TipoCampo WHERE chavetipocampo = ?";
            pstm = con.prepareStatement(sql);
            pstm.setInt(1, Integer.parseInt(chave));
            ResultSet rs = pstm.executeQuery();

            while (rs.next()) {
                tc.setChaveTipoCampo(rs.getInt("chavetipocampo"));
                tc.setDescricao(rs.getString("descricao"));
                tc.setMiniatura(rs.getBoolean("miniatura"));
                tc.setLocalArmazenamento(rs.getString("local_armazenamento"));
            }

        } catch (SQLException ex) {
            System.out.println(ex);
        } finally {
            try {
                pstm.close();
                con.close();
            } catch (SQLException ex) {
                System.out.println("Não foi possivel terminar a conexão " + ex);
            }
        }

        return tc;

    }
    
    public List<TipoCampo> read() {

        List<TipoCampo> lista = new ArrayList<TipoCampo>();

        try {

            String sql = "SELECT * FROM TipoCampo";
            pstm = con.prepareStatement(sql);
            ResultSet rs = pstm.executeQuery();

            while (rs.next()) {
                TipoCampo tc = new TipoCampo();
                tc.setChaveTipoCampo(rs.getInt("chavetipocampo"));
                tc.setDescricao(rs.getString("descricao"));
                tc.setMiniatura(rs.getBoolean("miniatura"));
                tc.setLocalArmazenamento(rs.getString("local_armazenamento"));
                
                lista.add(tc);
            }

        } catch (SQLException ex) {
            System.out.println(ex);
        } finally {
            try {
                pstm.close();
                con.close();
            } catch (SQLException ex) {
                System.out.println("Não foi possivel terminar a conexão " + ex);
            }
        }

        return lista;

    }

    public void update() {
    }

    public void delete() {
    }
}
